package com.beton.main

import MainHandler
import com.beton.api.KtorServer
import di.assistantModule
import di.botModelImplModule
import di.configModule
import di.loggerModule
import di.networkModule
import di.redisModule
import kotlinx.coroutines.runBlocking
import org.koin.core.context.startKoin

fun main() {

    startKoin {
        modules(
            configModule,
            loggerModule,
            assistantModule,
            networkModule,
            botModelImplModule,
            redisModule
        )
    }
    fun initBot() = runBlocking {
        MainHandler.createAndStart()
    }

    fun startKtorServer() = runBlocking {
        KtorServer.createAndStart()
    }

    println("starting bot")
    initBot()

    println("starting server")
    startKtorServer()

}
